import { IParam } from '@/core/interface/common';
import { IPanelDetailControllerParams } from './i-panel-detail-controller-params';

/**
 * 面板按钮控制器输入参数基类接口
 *
 * @export
 * @interface IPanelButtonControllerParams
 * @extends {IPanelDetailControllerParams}
 */
export interface IPanelButtonControllerParams
	extends IPanelDetailControllerParams {
	/**
	 * 界面行为
	 *
	 * @type {IParam}
	 * @memberof IPanelButtonControllerParams
	 */
	uiAction: IParam;

	/**
	 * 图标方向
	 *
	 * @type {('LEFT' | 'TOP' | 'RIGHT' | 'BOTTOM')}
	 * @memberof IPanelButtonControllerParams
	 */
	iconAlign: 'LEFT' | 'TOP' | 'RIGHT' | 'BOTTOM';

	/**
	 * 按钮样式
	 *
	 * @type {('DEFAULT' | 'INVERSE' | 'PRIMARY' | 'INFO' | 'SUCCESS' | 'WARNING' | 'DANGER' | 'STYLE2' | 'STYLE3' | 'STYLE4')}
	 * @memberof IPanelButtonControllerParams
	 */
	buttonStyle:
		| 'DEFAULT'
		| 'INVERSE'
		| 'PRIMARY'
		| 'INFO'
		| 'SUCCESS'
		| 'WARNING'
		| 'DANGER'
		| 'STYLE2'
		| 'STYLE3'
		| 'STYLE4';

	/**
	 * 绘制模式
	 *
	 * @type {('BUTTON' | 'LINK')}
	 * @memberof IPanelButtonControllerParams
	 */
	renderMode: 'BUTTON' | 'LINK';

	/**
	 * 边框样式
	 *
	 * @type {('NONE' | 'SOLID' | 'DOTTED' | 'DASHED' | 'DOUBLE')}
	 * @memberof IPanelButtonControllerParams
	 */
	borderStyle: 'NONE' | 'SOLID' | 'DOTTED' | 'DASHED' | 'DOUBLE';

	/**
	 * 数据部件名称
	 *
	 * @type {string}
	 * @memberof IPanelButtonControllerParams
	 */
	xDataCtrlName: string;

	/**
	 * 是否禁用
	 *
	 * @type {boolean}
	 * @memberof IPanelButtonControllerParams
	 */
	disabled: boolean;
}
